Memoryless spectrum correction algorithm for non-ideal I/Q demodulators

ABSTRACT

An algorithm for correcting the output of an analog I/Q demodulator without the need for calibration or storing state information. The output of the analog I/Q demodulator is digitized, and the discrete-time samples are divided into segments. A digital frequency transform (e.g., a Discrete Fourier Transform) is computed for each segment. The effects of the non-ideal I/Q demodulator are removed by identifying a set of image frequency candidates for each digital frequency transform, and for each image frequency candidate, estimating a set of demodulator imbalance parameters to characterize the demodulator imbalance at that frequency and correcting the digital frequency transform at the image frequency candidate using the imbalance parameters in order to minimize the effects of the imbalance. Each digital frequency transform is corrected independently and consequently no persistent state information needs to be saved between transforms.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 11/280,404 filed Nov. 17, 2005, pending, which in turn claims priority to U.S. Provisional Application No. 60/629,917, filed Nov. 22, 2004, the entirety of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates to radio receiver devices, and more particularly to techniques for correcting for inaccuracies in in-phase/quadrature-phase (I/Q) demodulators.

As shown in FIG. 1, low-cost receivers 10 for wireless digital communications systems typically use an analog I/Q demodulator 20 to downconvert received RF signals to baseband before the signal is converted to digital data by an analog-to-digital converter (ADC) 30 and is processed digitally. An example of an I/Q demodulator 20 is shown in FIG. 2 and comprises an in-phase mixer 22 and a quadrature-phase mixer 24, and associated low pass filters 26 and 28. An I/Q demodulator never exhibits perfect quadrature and amplitude balance between the I and Q paths, causing image artifacts to appear at the negative of the input signal frequency as shown in FIG. 2.

State-of-the-art I/Q demodulator implementations typically provide an image suppression of 35-40 dB, which is sufficient to guarantee acceptable performance in most applications. However, for real-time spectrum management applications where it is desired to detect the types of signals occurring in a shared frequency band, the required image suppression is much larger than 35 dB. In fact, in some cases an image suppression of approximately 90 dB is required. Image artifacts above the noise floor make spectrum analysis displays confusing. In addition, signal classification and pulse detection functions can be confused by the image artifacts if they are not properly removed.

There are several known techniques for mitigating the image artifacts inherently created by non-ideal I/Q demodulators. According to one technique, an intermediate frequency (IF)-based receiver is used and digital I/Q demodulation is performed at IF. The drawback of this technique is that IF receivers can only be implemented using discrete analog circuits. Another technique involves using calibration to measure the amplitude and phase imbalance of the I/Q modulator and correct for the imbalances digitally. The problems with this technique are that it can only provide up to 65 dB of suppression over temperature, and a relatively long calibration time is required at manufacture.

Still another approach is to use a complex very low intermediate frequency (VLIF)-based receiver. With this approach, however, out-of-band signals can appear as if they were in-band, still requiring calibration to minimize this effect.

An improved approach for removing the effects of I/Q demodulator imbalance is needed that is efficient and flexible to implement, and capable of providing significant image suppression required for certain communication applications, such as spectrum analysis or management applications.

SUMMARY OF THE INVENTION

Briefly, the output of an analog I/Q demodulator is digitized, the discrete-time samples are divided into segments, and a digital frequency transform (e.g., a Discrete Fourier Transform) is computed for each segment. The effects of the non-ideal I/Q demodulator are removed by identifying a set of image frequency candidates for each digital frequency transform, and for each image frequency candidate, estimating a set of demodulator imbalance parameters to characterize the demodulator imbalance at that frequency and correcting the digital frequency transform at the image frequency candidate using the imbalance parameters in order to minimize the effects of the imbalance.

In this algorithm, no calibration is required. Each digital frequency transform is corrected independently and consequently no persistent state information needs to be saved between transforms. The image artifacts are attenuated into the noise floor of each input transform such that the amount of image suppression is always sufficient.

The above and other advantages of this technique will become more apparent when reference is made to the following description taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a radio receiver having an analog I/Q demodulator.

FIG. 2 is a block diagram of an exemplary analog I/Q demodulator.

FIG. 3 is an amplitude versus frequency plot showing a typical image artifact produced when an I/Q demodulator demodulates an exemplary signal.

FIG. 4 is an amplitude versus frequency plot showing an image artifact produced when an I/Q demodulator demodulates a Bluetooth™ signal pulse.

FIG. 5 is a block diagram of a receiver system having a spectrum correction module that performs the correction algorithms described herein to suppress image artifacts produced by the I/Q demodulator.

FIG. 6 is a flow chart depicting certain steps of the spectrum correction algorithm.

FIG. 7 is a block diagram of a simulation environment used to measure the performance of the spectrum correction algorithm described herein.

FIGS. 8A and 8B show plots for output suppression as a function of estimated amplitude and phase error after correction.

FIGS. 9A, 9B, 9C through 13A, 13B, 13C are screen shots of plots taken from simulations that illustrate performance of the correction algorithm described herein.

DETAILED DESCRIPTION

An I/Q modulated RF signal has the form. r(t)=i(t)cos ω_(c) t−q(t)sin ω_(c) t where i(t)=in-phase signal, q(t)=quadrature signal, ω_(c)=carrier frequency. FIG. 3 shows a non-ideal I/Q demodulator with amplitude error α and phase error φ. When r(t) is applied at the input, the complex baseband output of this circuit can be shown to be $\begin{matrix} {{y(t)} = {{\frac{1 + \alpha}{2}{s(t)}} + {\frac{1 - \alpha^{*}}{2}{s^{*}(t)}}}} & (1) \end{matrix}$ where α=a·e^(−jφ) and s(t)=i(t)+jq(t)

A discrete-time version of equation (1) can be written as: $\begin{matrix} {y_{n} = {{\frac{\left( {1 + \alpha} \right)}{2}s_{n}} + {\frac{\left( {1 - \alpha^{*}} \right)}{2}s_{n}^{*}}}} & (2) \end{matrix}$

Applying a window function w_(n) to equation (2) gives $\begin{matrix} {y_{n} = {{\frac{\left( {1 + \alpha} \right)}{2}{s_{n} \cdot w_{n}}} + {\frac{\left( {1 - \alpha^{*}} \right)}{2}{s_{n}^{*} \cdot w_{n}}}}} & (3) \end{matrix}$

Taking N-point digital Fourier transforms (DFTs) of both sides of equation (3) yields $\begin{matrix} {Y_{k} = {{\frac{\left( {1 + \alpha} \right)}{2} \cdot {\sum\limits_{m = 0}^{N - 1}\quad{S_{m}W_{{mod}{({{k - m},N})}}}}} + {\frac{\left( {1 - \alpha^{*}} \right)}{2} \cdot {\sum\limits_{m = 0}^{N - 1}\quad{S_{m}^{*}W_{{mod}{({{k + m},N})}}}}}}} & (4) \end{matrix}$

Assuming s_(n)=X^(·)e^(j2πnk0/N), then, S_(k)=X·δ(k−k0) and equation (4) becomes $Y_{k} = {{\frac{\left( {1 + \alpha} \right)}{2} \cdot X \cdot W_{{mod}{({{k - {k\quad 0}},N})}}} + {\frac{\left( {1 - \alpha^{*}} \right)}{2} \cdot X^{*} \cdot W_{{mod}{({{k + {k\quad 0}},N})}}}}$

The image suppression at the demodulator output (in dB) is $Y_{k} = {{{20 \cdot \log}{\frac{Y_{k\quad 0}}{Y_{{- k}\quad 0}^{*}}}} = {{20 \cdot \log}{\frac{1 + \alpha}{1 - \alpha}}}}$

An arbitrary finite-length signal has a unique DFT, and can therefore be written as a sum of sinusoids: $S_{n} = {\sum\limits_{k = 0}^{N - 1}\quad{X_{k} \cdot {\mathbb{e}}^{2\pi\quad{{jnk}/N}}}}$ with a DFT of $S_{k} = {\sum\limits_{m = 0}^{N - 1}\quad{X_{m} \cdot {\delta\left( {k - m} \right)}}}$

FIG. 4 shows an example of an image artifact being created when a Bluetooth™ center at a particular center frequency is demodulated.

In this case, equation (4) becomes $\begin{matrix} {Y_{k} = {{\frac{\left( {1 + \alpha} \right)}{2} \cdot {\sum\limits_{m = 0}^{N - 1}\quad{X_{m}W_{{mod}{({{k - m},N})}}}}} + {\frac{\left( {1 - \alpha^{*}} \right)}{2} \cdot {\sum\limits_{m = 0}^{N - 1}\quad{X_{m}^{*}W_{{mod}{({{k + m},N})}}}}}}} & (5) \end{matrix}$

Since the DFT window spectrum W_(k) is conjugate symmetric, equation (4) can be rewritten as follows: $\begin{matrix} {Y_{k} = {{\frac{\left( {1 + \alpha} \right)}{2}{\overset{\sim}{S}}_{k}} + {\frac{\left( {1 - \alpha^{*}} \right)}{2}{\overset{\sim}{S}}_{- k}^{*}}}} & (6) \end{matrix}$

where $\begin{matrix} {{\overset{\sim}{S}}_{k} = {\sum\limits_{m = 0}^{N - 1}{S_{m}W_{{mod}{({{k - m},N})}}}}} & (7) \end{matrix}$

Both sides of equation (6) can be conjugated to solve for {tilde over (S)}_(k) in terms of Y_(k) as follows: $\begin{matrix} {{{\overset{\sim}{S}}_{k} = {\gamma \cdot \left( {Y_{k} - {\beta \cdot Y_{- k}^{*}}} \right)}}{{{where}\quad\beta} = {{\frac{1 - \alpha^{*}}{1 + \alpha^{*}}\quad{and}\quad\gamma} = {\frac{1 + \alpha^{*}}{\alpha + \alpha^{*}}.}}}} & \left( {8A} \right) \end{matrix}$

The spectrum correction algorithm is motivated from the observation that in equations (6) and (7), the spectrum Y_(k) at the non-ideal demodulator output is conjugate symmetric at the image frequencies, i.e., S _(k)≈0 and |S _(−k)|>>0

Y _(k) =β·Y* _(−k) for some β

Turning to FIG. 5, a receiver system is shown comprising a radio receiver 10 having an analog I/Q demodulator 20, an ADC 30, a Discrete Fourier Transform (DFT) module 35 and a spectrum correction module 40 that performs the spectrum correction algorithm described herein. The ADC 30 digitizes the output of the demodulator 20 and forms discrete-time samples that are divided into segments. The DFT module 35 generates a discrete Fourier transform of each segment, and the discrete Fourier transform is analyzed by the spectrum correction module 40 as described below. The output of the spectrum correction module 40 may coupled to a spectrum analysis module 50 which in turn is coupled to a microprocessor (processor) 60. An example of a spectrum analysis module is a real-time spectrum analysis engine (SAgE) disclosed in commonly assigned U.S. Pat. No. 6,714,605, issued Mar. 30, 2004 and in commonly assigned co-pending U.S. application Ser. No. 10/909,450, filed Aug. 2, 2004.

In addition, the output for the spectrum correction module 40 may be coupled to a display 55 for displaying the corrected spectrum information. The processor 60 may perform analysis functions on the output of the spectrum analysis module 50 based on software stored in the memory 70. For example, the processor 60 may execute signal classification software 75 to analyze the corrected spectrum data from the spectrum correction module and/or pre-analyzed by the spectrum analysis module 50, to classify one or more types of signals occurring in the received signal.

The DFT module 35 and the spectrum correction module 40 may be implemented in hardware or firmware (fixed or programmable digital logic gates) configured to operate on the output of the ADC 30 and perform the functions described herein. Alternatively, the DFT and spectrum correction functions may be performed in software by DFT and spectrum correction functionality software 35′ and 40′ stored in the memory 70 and executed by the processor 60. In this case, the output of the ADC 30 would be coupled to the processor 60.

With reference to FIG. 6, the spectrum correction algorithm 100 will be described. In step 110, the output of the analog I/Q demodulator is digitized by the ADC 30, the discrete-time samples are divided into segments, and a digital frequency transform (e.g., Discrete Fourier Transform) is computed for each segment, thereby forming a time-based sequence of digital frequency transforms. For example, a discrete Fourier Transform, Y_(k), k=0, . . . , N−1, is computed for each buffer segment of discrete-time samples. As an example, N is 256. The DFT Y_(k) is copied to an output buffer Y′_(k).

The effects of the non-ideal I/Q demodulator are removed by identifying a set of image frequency candidates for each digital frequency transform. For each image frequency candidate, a set of demodulator imbalance parameters are estimated to characterize the demodulator imbalance at that frequency and used to correct the digital frequency transform at the image frequency candidate in order to minimize the effects of the imbalance.

More specifically, in step 120, a set M of image frequency candidates are found using the computation described below in connection with equation (9). At a frequency of the DFT corresponding to each image frequency candidate, there may be a signal that is an image of the input signal to the analog I/Q demodulator at the negative frequency. Thus, for each image frequency candidate m in M, steps 130 and 140 are performed. In step 130, a set of I/Q demodulator imbalance parameters are estimated to minimize an appropriately defined cost function as explained hereinafter in conjunction with equations (10) and (11). That is, the I/Q demodulator imbalance parameters are estimated such that when applied to correct the value of the digital frequency transform at the image frequency candidate in step 140, it has the effect of removing a component of the digital frequency transform that is the image of a signal at the negative frequency and leaving the rest of the digital frequency transform unaltered. The set of I/Q demodulator imbalance parameters are γ and β referred to above and α and γ are computed from β using the relationship: $\begin{matrix} {{\alpha = \frac{1 - \beta^{*}}{1 + \beta^{*}}},} \\ {\gamma = \frac{1 + \alpha^{*}}{\alpha + \alpha^{*}}} \end{matrix}$ In the correction step 140, Y′_(m) is overwritten with the corrected value for the digital frequency transform according to equation (8B), where Y_(m) is the complex DFT value at candidate image frequency m and Y*_(−m) is the complex conjugate of Y_(−m): Y′ _(m)=γ(Y _(m) −βY* _(−m))   (8B) In the correction step 140, if Y_(m) appears as an image of a narrow-band signal, such as a tone, then Y′_(m)=0.5*(Y_(m−1)+Y_(m+l)), the average of the value of digital frequency transform at the neighboring image frequency candidates on both sides of candidate image frequency m. In the foregoing explanation, the DFT is an example of the type of digital frequency transform with which the algorithm may be used.

Once steps 130 and 140 have been performed for each of the image frequency candidates m in M, the process repeats from step 110 with the digital frequency transforms of the next input buffer. Subtracting out or removing of the image frequency candidate from the digital frequency transform occurs if the image candidate is actually an image, or does not occur if the image candidate is not an image but actually is signal, occurs in step 140. Moreover, unlike prior techniques, this algorithm accounts for frequency dependence and is stateless. In addition, the method described herein involves estimating where the image frequencies are without a priori knowledge of them.

The set M of image frequency candidates M are found in step 120 by comparing the ratio of signal to image power in the DFT computed from the demodulator output spectrum: M={0≦m<N:|Y_(m)|<10^(−25/20) |Y _(−m)|}  (9) where m is a particular candidate image frequency in M, and |Y_(−m)| is the signal amplitude at the negative frequency. In other words, the image candidates have a signal power that is at least a predetermined amount lower, e.g., 25 dB, than the signal power at the negative frequency. This threshold is motivated from the fact that most analog I/Q demodulators have at least 30 dB image suppression.

The cost function used in step 130 may be defined with two goals in mind:

-   -   1. Find the multiplier β to best make Y “appear conjugate         symmetric” at the image frequencies.     -   2. Account for frequency dependence in β because in practice,         the amplitude and phase offset of a typical analog I/Q         demodulator varies in-band over frequency due to (a) amplitude         and group delay skew in the I and Q lowpass filters, and         (generally to a lesser extent) (b) amplitude and phase variation         in the cos( ) and sin( ) function generators feeding the mixers.         For certain spectrum analysis applications, it has been         determined that the offset remains constant over roughly 2 MHz         of the 20 MHz output bandwidth.

The cost function is defined mathematically as follows: $\begin{matrix} {{J(\beta)} = {\sum\limits_{p \in {W{({m,M})}}}^{\quad}{{Y_{p} - {\beta\quad Y_{- p}^{*}}}}^{2}}} & (10) \end{matrix}$

In other words, the sum in equation (10) is carried out over all candidates in M that are within 2 MHz of the candidate m at which spectrum correction is being applied.

By taking derivatives and equating to zero, the minimizer of equation (10) can be shown to be: $\begin{matrix} {\hat{\beta} = \frac{\sum\limits_{p \in {W{({m,M})}}}^{\quad}{Y_{p}Y_{- p}}}{\sum\limits_{p \in {W{({m,M})}}}^{\quad}{Y_{- p}}^{2}}} & (11) \end{matrix}$

To summarize, the spectrum correction algorithm described above involves, on a per-digital frequency transform basis, finding a set of image frequency candidates m, and for each image frequency candidate, estimating the I/Q demodulator imbalance parameters that make the digital frequency transform look as it would if it came from an ideal analog demodulator. That is, at each image frequency candidate, the algorithm estimates a set of I/Q demodulator imbalance parameters (β and γ), and then correction is applied at the image frequency candidate m using equation (8B). Thus, the estimated I/Q demodulator imbalance parameters are frequency dependent, or more specifically image frequency candidate dependent. The I/Q demodulator imbalance parameters are computed using the cost function of equation (10) such that when applied to an image frequency candidate using equation (8B), it either removes the image frequency candidate if it actually is an image and leaves the digital frequency transform otherwise unaffected, or it leaves it unaltered if it is not an image.

Thus, if the step of identifying an image frequency candidate wrongly flags a frequency of the DFT as being an image candidate, e.g., there really is not an image artifact at frequency m, but rather just another signal that happens to be 25 or more dB lower than the signal at the negative frequency, the algorithm will not alter the DFT data at that frequency.

Suppose an I/Q demodulator has an amplitude and phase imbalance characterized by which α is estimated using the spectrum correction algorithm described above. The following explains how much image suppression the algorithm should deliver.

If m is an image frequency, then from equation (6) $Y_{m} = {{\frac{1 - \alpha^{*}}{2}{\overset{\sim}{S}}_{- m}^{*}\quad{and}\quad Y_{- m}^{*}} = {\frac{1 + \alpha^{*}}{2}{\overset{\sim}{S}}_{- m}^{*}}}$

and the image suppression of the uncorrected I/Q demodulator is ${{20 \cdot \log}{\frac{Y_{- m}^{*}}{Y_{m}}}} = {{20 \cdot \log}{\frac{1 + \alpha^{*}}{1 - \alpha^{*}}}{dB}}$

Substituting the above formulas for Y_(m) and Y−m* in equation (8B), it can be shown that the image suppression after correction is $\begin{matrix} {{{20 \cdot \log}{\frac{Y_{- m}^{\prime*}}{Y_{m}^{\prime}}}} = {{20 \cdot \log}{\frac{\left( {1 + \alpha} \right){{Re}\left( \hat{\alpha} \right)}}{\left( {\hat{\alpha} - \alpha} \right)}}{dB}}} & (12) \end{matrix}$ where ${\hat{\alpha} = \frac{1 - {\hat{\beta}}^{*}}{1 + {\hat{\beta}}^{*}}},$ and {circumflex over (β)} is the estimate of the actual β obtained using steps 130 and 140. The plots in FIGS. 8A and 8B show the output suppression in equation (12) as a function of estimated amplitude error 20·log|α/{circumflex over (α)}| and phase error arg (α/{circumflex over (α)}).

Examples of the performance of the spectrum correction algorithm are shown in FIGS. 9A, 9B, 9C through 13A, 13B, 13C. FIG. 7 illustrates a simulation set-up that was used to make the measurements on the signals shown in FIGS. 9A, 9B, 9C through 13A, 13B, 13C. Specifically, the received signal, r(t), was run in two different paths, one involving a so-called “ideal” demodulator and the other involving a non-ideal demodulator, and in particular, an I/Q demodulator having an α value determined to be 0.9387 (30 dB image suppression). Signal 1 is the output of the ideal demodulator which is then subjected to additive white Gaussian noise (AWGN) to form signal 2 when is then analyzed by a discrete Fourier transform block to produce signal 3. Image frequency candidates are determined for signal 3 using the techniques described above. Signal 3 is said to be undistorted because it is produced by an ideal demodulator.

Signal 1b is the output of the non-ideal demodulator and is also subjected to AWGN to produce signal 2b. Signal 2b is analyzed by a discrete Fourier transform block to produce a signal 3b. Image frequency candidates are determined for signal 3b using the techniques described above. Signal 3b is said to be distorted because it is produced by a non-ideal demodulator. Signal 3b is then analyzed by the spectrum correction algorithm described herein to produce corrected spectrum signal 4b. In addition, the output of the non-ideal demodulator is coupled to a discrete Fourier transform block to produce signal 5 which is then analyzed by the spectrum correction algorithm to produce a noiseless distorted corrected spectrum signal 6.

Thus, in FIGS. 9A, 9B, 9C through 13A, 13B, 13C, there are three plots that illustrate measurements on signals produced for simulations run with different types of input signals and DFT widths. Specifically, FIG. 9A illustrates a plot signal 3b, the distorted spectrum signal for a non-ideal demodulator where the input signal is a continuous wave (CW) at 5 MHz, sample frequency f_(s)=20 MHz, signal-to-noise ratio (SNR)=40 dB, and the DFT is a N=512 pt FFT. In addition, FIG. 9A illustrates the image frequency candidates identified from the signal 3b using the image frequency candidate identification techniques described herein. FIG. 9B illustrates the corrected spectrum signal 4b produced according to the techniques described herein and an undistorted spectrum signal for the ideal demodulator. FIG. 9C illustrates noiseless distorted corrected spectrum signal 6 and the undistorted spectrum signal 3 from the ideal demodulator. Note that FIG. 9C shows that the spectrum correction algorithm applied to the noise distorted signal gives only enough suppression to put the images into the noise, and no further.

FIGS. 10A-10C are similar plots that show performance for similar conditions as FIGS. 9A-9D, except that the DFT is a N=2048 pt FFT.

FIG. 11A-10C are similar plots that show performance of the spectrum correction algorithm when the input comprises CWs at 5 and −4.5 MHz, f_(s)=20 MHz, SNR=40 dB, and the DFT is a N=512 pt FFT.

FIGS. 12A-12C are similar plots that show performance of the spectrum correction algorithm for an input Bluetooth pulse at 5 MHz, f_(s)=20 MHz, SNR=40 dB, the DFT is a N=512 pt FFT.

FIG. 13A-13C are similar plots that show performance of the spectrum correction algorithm for an input Bluetooth pulse at 5 MHz and an input CW at −4.5 MHz, f_(s)=20 MHz, SNR=40 dB, the DFT is a N=512 pt FFT.

The following observations were noted from the simulations for various SNRs, FFT sizes and input signals.

(1) Images are suppressed only enough to put them into the noise floor.

(2) Infinite image suppression is obtained as the input SNR goes to infinity.

(3) When the input signal is a tone, a small notch appears in the max-hold plot at the image frequencies. This is because the sum in equation (11) only has only a small number of terms carrying signal information, causing the estimator to suppress both image and noise, rather than just the image. This effect can be corrected by replacing the image corrected samples with interpolated samples on either side of the image.

In sum, a method is provided for correcting the output of an analog I/Q demodulator, comprising computing a time-based sequence of digital frequency transforms for the time-domain output of the I/Q analog demodulator; identifying a set of one or more image frequency candidates in the digital frequency transform, wherein at each image frequency candidate there may be a signal that is an image of the input signal to the analog I/Q demodulator at the negative frequency; for each image frequency candidate, estimating I/Q demodulator imbalance parameters; and correcting the value of the digital frequency transform at the image frequency candidate using the set of I/Q demodulator imbalance parameters.

Said another way, a method is provided for correcting the output of an analog I/Q demodulator, comprising computing a digital frequency transform for each sample of a time-based output of the analog demodulator; analyzing the digital frequency transform to identify image frequency candidates; and removing an image frequency candidate if it actually is an image, otherwise, not removing the image frequency candidate.

Said still another way, a method is provided for correcting the output of analog I/Q demodulator, comprising: converting the output of the analog I/Q demodulator to segments of discrete-time samples; computing a digital frequency transform for each segment of discrete-time samples; identifying a set of image frequency candidates for each digital frequency transform; for each image frequency candidate, estimating a set of demodulator imbalance parameters to characterize the demodulator imbalance at that frequency; and correcting the digital frequency transform at the image frequency candidate using the imbalance parameters in order to minimize the effects of the imbalance.

Said yet another way, a method is provided for correcting the output of an analog I/Q demodulator, comprising: computing a time-based sequence of digital frequency transforms for the time-domain output of the I/Q analog demodulator; identifying a set of one or more image frequency candidates in the digital frequency transform, wherein at each image frequency candidate there may be a signal that is an image of the input signal to the analog I/Q demodulator at the negative frequency; for each image frequency candidate, computing I/Q demodulator imbalance parameters such that the digital frequency transform is conjugate symmetric at the image frequency candidate; and correcting a value of the digital frequency transform at the image frequency candidate using the set of I/Q demodulator imbalance parameters, by computing Y′_(m)=γ(Y_(m)−βY*_(−m)) where Y_(m) is an uncorrected value of the frequency transform the image frequency candidate m and Y′_(m) is the corrected value of the digital frequency transform at the image frequency candidate m, and where the set of I/Q demodulator imbalance parameters comprise γ and β.

The techniques described herein may be embodied by instructions stored on a processor readable medium, including instructions that, when executed by a processor, cause the processor to: compute a time-based sequence of digital frequency transforms for the time-domain output of the I/Q analog demodulator; identify a set of one or more image frequency candidates in the digital frequency transform, wherein at each image frequency candidate there may be a signal that is an image of the input signal to the analog I/Q demodulator at the negative frequency produced by the analog I/Q demodulator; for each image frequency candidate, estimate I/Q demodulator imbalance parameters; and correct a value of the digital frequency transform at the image frequency candidate using the set of I/Q demodulator imbalance parameters. The processor so programmed may be part of a radio receiver system that also includes a radio receiver that receives radio frequency signals and includes an I/Q analog demodulator that demodulates the radio frequency signals to produce an analog baseband signal, and an analog-to-digital converter coupled to the radio receiver that converts the analog baseband signal to a digital signal.

The above description is intended by way of example only. 

1. A device, comprising: a. a radio receiver that receives radio frequency signals and includes an analog demodulator that demodulates the radio frequency signals; b. a processor coupled to the radio receiver that: i. computes a digital frequency transform for each sample of a time-based output of the analog demodulator; ii. analyzes the digital frequency transform to identify image frequency candidates; and iii. removes an image frequency candidate if it actually is an image, otherwise, not removing the image frequency candidate.
 2. The device of claim 1, the processor computes I/Q demodulator imbalance parameters for an image frequency candidate such that when applied to the digital frequency transform at the image frequency candidate it has the effect of removing a component of the digital frequency transform that is the image of a signal at the negative frequency and leaving the rest of the digital frequency transform unaltered.
 3. The device of claim 2, wherein the processor removes an image frequency candidate by computing Y′_(m)=γ(Y_(m)−βY^(*) _(m)), where Y_(m) is an uncorrected value of the frequency transform at the image frequency candidate m and Y′_(m) is the corrected value of the digital frequency transform at the image frequency candidate m, and where the I/Q demodulator imbalance parameters comprise γ and β.
 4. The device of claim 3, wherein when a value of the digital frequency transform at the image frequency candidate appears as an image of a relatively narrow-band signal, the processor computes Y′_(m) as an average of the values of the digital frequency transform at neighboring image frequency candidates.
 5. The device of claim 1, wherein the processor analyzes the digital frequency transform and identifies a frequency of the frequency domain transform that has a power that is a predetermined amount lower than the power of the frequency domain transform at a corresponding negative frequency.
 6. The device of claim 1, wherein the processor computes I/Q demodulator imbalance parameters for an image frequency candidate such that the digital frequency transform is conjugate symmetric at the image frequency candidate.
 7. A processor readable medium storing instructions that, when executed by a processor, cause the processor to: a. computes a digital frequency transform for a time-based output of an analog demodulator; b. analyzes the digital frequency transform to identify image frequency candidates; and c. removes an image frequency candidate if it actually is an image, otherwise, not removing the image frequency candidate.
 8. The processor readable medium of claim 7, wherein the instructions that (b) analyzes comprises instructions that compute I/Q demodulator imbalance parameters for an image frequency candidate such that when applied to the digital frequency transform at the image frequency candidate it has the effect of removing a component of the digital frequency transform that is the image of a signal at the negative frequency and leaving the rest of the digital frequency transform unaltered.
 9. The processor readable medium of claim 8, wherein the instructions that (c) removes comprise instructions that compute Y′_(m)=γ(Y_(m)−βY*_(−m)), where Y_(m) is an uncorrected value of the frequency transform at the image frequency candidate m and Y′_(m) is the corrected value of the digital frequency transform at the image frequency candidate m, and where the I/Q demodulator imbalance parameters comprise γ and β.
 10. The processor readable medium of claim 9, wherein the instructions that (c) removes comprise instructions that compute Y′_(m) as an average of the values of the digital frequency transform at neighboring image frequency candidates if a value of the digital frequency transform at the image frequency candidate appears as an image of a relatively narrow-band signal.
 11. The processor readable medium of claim 7, wherein the instructions that (b) analyze comprise instructions that identify a frequency of the frequency domain transform that has a power that is a predetermined amount lower than the power of the frequency domain transform at a corresponding negative frequency.
 12. The processor readable medium of claim 7, wherein the instructions that (b) analyzes comprise instructions that compute the I/Q demodulator imbalance parameters for an image frequency candidate such that the digital frequency transform is conjugate symmetric at the image frequency candidate.
 13. A device, comprising: a. a radio receiver that receives radio frequency signals and includes an analog demodulator that demodulates the radio frequency signals; b. a digital frequency transform module that computes a time-based sequence of digital frequency transforms for a time-domain output of the analog demodulator; c. a spectrum correction module coupled to the digital frequency transform module that analyzes the digital frequency transforms to identify image frequency candidates and removes an image frequency candidate if it actually is an image, and otherwise, does not remove the image frequency candidate.
 14. The device of claim 13, wherein the spectrum correction module computes I/Q demodulator imbalance parameters for an image frequency candidate such that when applied to the digital frequency transform at the image frequency candidate it has the effect of removing a component of the digital frequency transform that is the image of a signal at the negative frequency and leaving the rest of the digital frequency transform unaltered.
 15. The device of claim 14, wherein the spectrum correction module removes an image frequency candidate by computing Y′_(m)=γ(Y_(m)−βY*_(−m)), where Y_(m) is an uncorrected value of the frequency transform at the image frequency candidate m and Y′_(m) is the corrected value of the digital frequency transform at the image frequency candidate m, and where the demodulator imbalance parameters comprise γ and β.
 16. The device of claim 15, wherein when a value of the digital frequency transform at the image frequency candidate appears as an image of a relatively narrow-band signal, the spectrum correction module computes Y′_(m) as an average of the values of the digital frequency transform at neighboring image frequency candidates.
 17. The device of claim 13, wherein the spectrum correction module identifies a an image frequency candidate as a frequency of the digital frequency transform that has a power that is a predetermined amount lower than the power of the frequency domain transform at a corresponding negative frequency.
 18. The device of claim 13, wherein the spectrum correction module computes I/Q demodulator imbalance parameters for an image frequency candidate such that the digital frequency transform is conjugate symmetric at the image frequency candidate.
 19. The device of claim 13, wherein the digital frequency transform module and the spectrum correction module are implemented with fixed or programmable digital logic gates. 